/**
 * 机房负责人
 * @author rxliuli
 */

class BaseHouseOfficer {
    /**
     * 构造函数
     *
     * @param {String} [id] 编号
     * @param {String} [name] 姓名
     * @param {Number} [idType=2] 证件类型
     * @param {String} [idNumber] 证件号码
     * @param {String} [tel] 固定电话
     * @param {String} [mobile] 移动电话
     * @param {String} [email] 电子邮件
     * @param {Date} [updateTime] 最后更新时间
     * @param {Number} [reportStatus=2] 上报状态，1：已上报，2：新增，3：修改，4：删除
     * @param {Number} unitNameAction 姓名模糊搜索
     * @param {Number} idNumberAction 证件号码模糊搜索
     * @param {Number} mobileAction 移动电话模糊搜索
     * @param {...Object} args
     */
    constructor({
                    id,
                    name,
                    idType = 2,
                    idNumber,
                    tel,
                    mobile,
                    email,
                    updateTime = new Date(),
                    reportStatus = 2,
                    unitNameAction = SearchActionConstant.ACCURATE,
                    idNumberAction = SearchActionConstant.ACCURATE,
                    mobileAction = SearchActionConstant.ACCURATE,
                    ...args
                } = {}) {
        this.id = id
        this.name = name
        this.idType = idType
        this.idNumber = idNumber
        this.tel = tel
        this.mobile = mobile
        this.email = email
        this.updateTime = updateTime
        this.reportStatus = reportStatus
        this.unitNameAction = unitNameAction
        this.idNumberAction = idNumberAction
        this.mobileAction = mobileAction
        Object.assign(this, args)
    }
}